/*
 * @Author: Quinn
 * @Date: 2023-05-19 11:40:35
 * @LastEditors: 叽歪小Q
 * @Description:
 */
const formatUrl = (url, data, config) => {
  return `${url}/${data.id}`
}

const getList = [
  '/shop/updateIsLeave', //门店-员工离职
  '/goods/updateGoodsStock', //修改门店库存
  '/shop/getPCShopDetail', //门店详情
  '/baking/getCategoryList', //获取商品分类
  '/role/roleList', //获取角色列表
  '/user/userList', //获取用户信息列表
  '/message/getSystemMessageList', //查看系统消息
  '/role/getRoleList', //角色列表
  '/role/getAuthorityListByRoleId', //查看权限
  '/role/getAuthorityList', //查看角色权限
  '/user/info', // 获取用户基本信息
  '/user/userList', // 获取用户列表
  '/role/roleList', // 角色列表
  '/role/roleAuthority', // 用户角色权限点
  '/order/confirmStart',
  '/order/qRCode',
  '/user/getUserInfo',
  '/user/getUserType',
  '/order/confirmComplete',
  '/order/confirmOrder',
]
const postList = [
  '/user/addStaffUser', //门店-新增员工
  '/role/delRole',
  '/role/updateRole',
  '/shop/add', //新增门店
  '/role/getRoleListVo',
  '/user/updateUser',
  '/user/addPCUser',
  '/user/getUserVo',
  '/goods/updateIsSale', //修改商品是否在售
  '/shop/getPCShopList', //门店列表
  '/franchisee/update',
  '/pcBalance/getPCBalanceList',
  '/pcBalance/getPCPointList',
  '/goods/getPCGoodsList', //获取商品列表
  '/order/getPCOrderList',
  '/franchisee/add',
  '/franchisee/getFranchiseeVo',
  '/goods/addGoods', //添加商品
  '/goods/updateGoods', //编辑商品
  '/order/getPCOrderList',
  '/aiChatLog/deleteAiChatLog', //删除ai聊天对话
  '/ai/service', //ai 发送消息
  '/common/upload', // 图片上传
  '/user/login', // 账号密码登录
  '//user/logout', // 账号密码登录
  '/user/addUser', // 新增用户
  '/user/deleteUser', // 删除用户
  '/user/userInfoUpdate', // 用户信息修改
  '/role/addRole', // 角色新增
  '/role/roleUpdate', // 角色修改
  '/role/roleDelete', // 角色删除
  '/role/roleBindAuthority', // 角色权限绑定
  //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线 //分割线
  '/user/addUser', //添加用户账号
  '/user/userInfoUpdate', //添加用户账号
  '/role/assignAuthority', //分配权限
]

const initApi = (arr, method = 'get') => {
  const res = {}
  arr.forEach((url) => {
    const key = url
      .split('/')
      .filter((e) => e)
      .map((str, index) => {
        if (index > 0) return str.slice(0, 1).toUpperCase() + str.slice(1)
        return str
      })
      .join('')
    res[key] = {
      url,
      method,
    }
    if (method == 'post') res[key]['contentType'] = 'application/json'
  })
  // console.log(Object.keys(res));
  return res
}

export default {
  ...initApi(getList),
  ...initApi(postList, 'post'),
  deleteRole: {
    url: '/franchisee/frozen',
    method: 'delete',
    formatUrl,
  },
}
